This invention relates to a method and apparatus for controlling a CRT display. More particularly, this invention relates to a method and apparatus for controlling a bit-mapped raster type CRT display.
CRT's have long been known as a useful output device for the display of information where a permanent record was not necessary. They provide a high speed, quiet and inexpensive output device for displaying information to an operator. Hertofore, two types of CRT display have been used; a vector, or X-Y plot, display and a raster display. The vector display is useful for the display of graphic information. In a vector display vectors, or directed line segments, are drawn between any two arbitrary points on the CRT display screen. Such line segments are typically straight but may in more advanced systems be curved line segments. Such vector displays are useful for the display of graphic or pictorial information. The other type of display which heretofore has been commonly used is a raster type display wherein the CRT traces out a raster consisting of a sequential set of essentially horizontal scan lines, typically beginning at the top left hand corner and tracing lines from left to right and top to bottom. After completing the full set of lines, commonly referred to as a frame, the CRT returns to the top left hand corner to begin a new frame. As the beam traces out each frame the beam is modulated by a video signal to display information on the CRT face. Typically, for the display of information from a data processing system the CRT beam is modulated by a digital signal which may only provide for "on" and "off" states or may provide for a limited number of other attributes such as a limited number of colors, bolded operation, or blinking operation. (those familiar with the television art will recognize the similarity between a raster display as described herein and a television raster display, though typically, a display used with a data processing system will not provide for an interlaced raster or for a continuously variable analog video input signal, as is provided in a television raster.)
Raster displays have heretofore been most useful for the display of patterns of limited numbers of predetermined signals, (e.g., text). The symbol patterns, (e.g., letters) could be stored in memory and scanned to generate a video signal in synchronism with the raster display. Further, since raster displays are less expensive to build and place less the computational burden on a processing unit, heretofore raster displays have been used for the display of graphic information by a technique known as "bit-mapping".
A schematic block diagram of a typical apparatus useful for display of bit-mapped information is shown in FIG. 1. A processor (not shown) loads data over data bus 30 into memory 10 in accordance with addresses on address and control bus 20. The processor establishes a sequence of data words in memory 10 corresponding to a "bit-map" of the display raster. That is, each bit in sequence corresponds to a "on-off" signal for a particular picture element to be displayed.
Once a bit-map is stored in memory 10 the processor issues an I/O instruction to control 40 which then sequentially unloads the data words in memory 10 to serializer 50, which outputs a serial bit stream of data to the CRT video input. Control 40 contains logic which allows it to read data from memory 10 in synchronism with the raster display and control 40 further provides horizontal synchronization signals for each line and vertical synchronization signals for each frame to maintain the raster in synchronism with the bit stream being output from serializer 50. The I/O instructions issued by the processor may be a simple initialization command where the bit-map is always stored in the same memory locations or may define a starting memory location. Access to memory 10 for both the processor and control 40 is through contention logic 60 so that the processor and the control may access memory 10 concurrently.
Apparatus such as that shown in FIG. 1 has proved useful, especially in applications where the simultaneous display of graphics and textual information was desired. However, such apparatus still presented certain problems. In particular when a display was to be changed it was necessary to extensively rework the bit-map stored in memory 10. The simple insertion of a few lines into the bit-map might require that the entire bit-map be rewritten.
In considering this problem applicant noted a heretofore unobserved analogy between the problem of controlling a bit-map display and problems in programming and text processing. All three, applicant realized, could be viewed as involving manipulation of ordered sets of symbols. In both programming and text processing strings of symbols, i.e., program code or text symbols, were linked by pointers. That is, each string of symbols was followed by data which defined the initial address of the next string. Thus, by modification of these pointers strings of symbols could be linked or unlinked.
Thus, considering the above background, it is an object of the subject invention to provide a method and apparatus wherein the data processing required to alter a CRT raster display is minimized.
It is another object of the subject invention to minimize the memory required to store and reorganize a bit-mapped display.
It is still another object of the subject invention to provide an apparatus wherein the memory used to store a bit-map may be shared concurrently by a processor and a controller. It is still another object of the subject invention to provide a method and apparatus which provide output signals in such a form that the method and apparatus may be used by standard CRT display without modification.